package com.example.kotlindemo

/**
 * @author Lmy
 * @功能:
 * @Creat 2020/5/14 11:32
 * @Compony 永远相信美好的事物即将发生
 */

/**
 *
 *Koltin 中的类可以有一个 主构造器，以及一个或多个次构造器，主构造器是类头部的一部分，位于类名称之后:
 * 如果主构造器没有任何注解，也没有任何可见度修饰符，那么constructor关键字可以省略。
 */
class kotlinBean(name: String, sex: String, age: Int) {
    var name = name
    var sex = sex
    var age = age
    val simple = age      // 类型为 Int ，默认实现 getter ，但必须在构造函数中初始化
    val inferredType = age// 类型为 Int 类型,默认实现 getter

    //    如果类有主构造函数，每个次构造函数都要，
    //    或直接或间接通过另一个次构造函数代理主构造函数。
    //    在同一个类中代理另一个构造函数使用 this 关键字：
    constructor(name: String) : this(name, "", 1) {
    }

    /**
     * 例如这里指定了constructor(name: String)
     * constructor(name: String)又指定了主构造函数
     */
    constructor(studeng: String, sex: Int) : this(studeng) {
    }
}

class People(val firstName: String, val lastName: String) {
    //...
}